/*
 * Copyright 2016 Huawei Technologies Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.openo.auth.common;

import java.io.IOException;
import java.io.InputStream;

import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;

/**
 * <br/>
 * <p>
 * </p>
 * 
 * @author
 * @version   
 */
public class DelegateServletStream extends ServletInputStream {

    private final InputStream sourceStream;

    /**
     * Create a DelegatingServletInputStream for the given source stream.
     * 
     * @param sourceStream the source stream (never <code>null</code>)
     */
    public DelegateServletStream(InputStream sourceStream) {
        this.sourceStream = sourceStream;
    }

    /**
     * Return the underlying source stream (never <code>null</code>).
     */
    public final InputStream getSourceStream() {
        return this.sourceStream;
    }

    public int read() throws IOException {
        return this.sourceStream.read();
    }

    public void close() throws IOException {
        super.close();
        this.sourceStream.close();
    }

    /**
     * <br/>
     * 
     * @return
     * @since  
     */
    @Override
    public boolean isFinished() {
        // TODO Auto-generated method stub
        return false;
    }

    /**
     * <br/>
     * 
     * @return
     * @since  
     */
    @Override
    public boolean isReady() {
        // TODO Auto-generated method stub
        return false;
    }

    /**
     * <br/>
     * 
     * @param readListener
     * @since  
     */
    @Override
    public void setReadListener(ReadListener readListener) {
        // TODO Auto-generated method stub

    }
}
